Integrated Messaging

ABSTRACT

A method for accessing multimedia content from a server for consumption of the multimedia content at a mobile device. The method includes detecting user interaction with a graphic user interface of the mobile device and translating, by the mobile device, user interaction with the graphic user interface into a command. The user interaction includes request to retrieve or access the multimedia content from a server. The multimedia content includes the command to retrieve the multimedia content from a server in a message generated at the mobile device. The method includes transmitting the message to the server for execution of instructions associated with the command included in the message for multimedia content access and retrieval and receiving the multimedia content for access at the mobile device as a result of the execution of the instructions associated with the command included in the message.

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application is a continuation of U.S. patent application Ser. No. 12/361,520 filed Jan. 28, 2009 which is entitled “Integrated Messaging,” which claims the priority benefit of U.S. Provisional Patent Application No. 61/062,797 filed Jan. 28, 2008, which is entitled “Systems and Methods for Data Transport”; U.S. patent application Ser. No. 12/361,520 is also a continuation-in-part and claims the priority benefit of U.S. patent application Ser. No. 12/080,247 filed Mar. 31, 2008, which is entitled “Polling,” and which claims the priority benefit of U.S. Provisional Patent Application No. 60/941,632 filed Jun. 1, 2007, which is also entitled “Polling.” The respective disclosure of the aforementioned applications is incorporated herein by reference.

The present application is related to U.S. patent application Ser. No. 12/361,538 filed Jan. 28, 2009 and entitled “System and Method for Data Transport,” the disclosure of which is also incorporated by reference.

TECHNICAL FIELD

The present invention generally relates to wireless mobile device services. More specifically, the present invention relates to integrated messaging.

BACKGROUND

Various applications are presently available for mobile devices. These applications and associated services require that applications and services constantly be kept up to date. Updates may be required with respect to correcting errors in prior versions of an application or service. Updates may likewise encompass introduction of new features in an application or service. Updates may be of various degrees of complexity in terms of new and improved aspects of an application or service that have been repaired or updated. Degree of complexity likewise applies to the size of the data block representing a code rewrite or update and that is required to implement the application or service repair or update.

Additional complications may exist for application and service updates. Updates may be required for a variety of mobile devices, platforms, and protocols. As such, an application provider may have to write new portions of an application for a variety of mobile devices, platforms, and/or protocols. This may be especially time consuming or complex if a mobile device application or service requires multiple upgrades over time. Many users of mobile devices lack the time, knowledge, or inclination to upgrade their mobile devices multiple times. As a result, application and service providers may be unable to provide users with their full range of services.

There is a need in the art to allow for introduction of applications to a mobile device that do not impose significant technical barriers to the user of the device with respect to installation of these applications. There is, further, a need in the art to allow for introduction of applications to a range of mobile devices, platforms, and protocols that do not require massive code rewrites or updates for each device, platform, or protocol.

SUMMARY

Embodiments of the present invention provide methods and systems for integrated messaging. A user of a mobile device may interact with a graphic user interface of the mobile device. The interaction is detected and a command is generated based on the interaction. The generated command is independent of further user interaction with the interface. An SMS message including the command is generated and transmitted to a server, which stores executable instructions associated with the command. The instructions provide for generation or acquisition of data by the server (or another server) in response to the command. Such responsive data is then transmitted to the mobile device.

A first claimed embodiment includes a method for integrated messaging. The method includes detecting user interaction with a graphic user interface of the mobile device, generating a command for inclusion in an SMS message based on the detected user interaction, transmitting the SMS message to a server for execution of instructions associated with the command, and receiving responsive data as a result of the execution of the instructions associated with the command.

A second claimed embodiment includes a method for integrated messaging, which may include receiving an SMS message from the mobile device. The SMS message includes a command based on user interaction with the mobile device. The method further includes processing instructions associated with the received command and stored in memory at the first server, generating responsive data as a result of execution of the instructions, and transmitting the responsive data associated with processing the instructions to the mobile device.

A third claimed embodiment recites a system for integrated messaging. Such a system includes a facilitating server configured to store in memory information concerning one or more commands associated with stored instructions, receive an SMS message including a command from a mobile device, and execute instructions associated with the received command. The system further includes an operator server configured to generate responsive data as a result of execution of the instructions by the facilitating server.

Further claimed embodiments include a computer-readable storage media upon which is embodied a program including instructions for executing a method for integrated messaging.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates exemplary network architecture according to an embodiment of the present invention.

FIG. 2 illustrates a method for integrated messaging.

FIG. 3 illustrates an alternative method for integrated messaging.

DETAILED DESCRIPTION

FIG. 1 illustrates exemplary network architecture 100 according to an embodiment of the present invention. Mobile device 110 may include any number of applications such as a graphic user interface 115, a Short Message Service (SMS) agent 120, a translation module 125, and a transport protocol application 130. The aforementioned interfaces, agents, modules, and applications may be embodied in firmware or software applications otherwise executable by a processing device at the mobile device 110.

The mobile device 110 may be configured to communicate over a communication network 140 with facilitating server 150. Facilitating server 150 may communicate with various data sources 170. In some embodiments, an optional operator server 160 may serve as an intermediary between facilitating server 150 and data sources 170.

Mobile device 110 is inclusive of any variety of mobile devices that are capable of communicating over the Internet. Such communication may also include the use of a wireless or landline network. Mobile device 110 is inclusive of cellular telephones, smart phones, personal digital assistants (PDAs), wireless e-mail devices, and handheld computing devices. A variety of mobile networks and communications channels for enabling Internet access are well known in the art.

Graphic user interface 115 allows for user interactivity with some service or functionality hosted by, accessible by, or provisioned to mobile device 110. User interface is meant to be ‘user-friendly.’ Through a user-friendly interface, a user may easily comprehend options or instructions related to the corresponding service or functionality without necessarily having to understand the underlying technical aspects and implementation of that application or service, which may include execution of instructions, use of certain communication protocols. Graphic user interface 115 may be static or a dynamic web-based interface for accessing services provided through execution of instructions at facilitating server 150. Interface 115 may be overlaid or operate in the context of other applications or functions present at the mobile device 110 such as SMS agent 120, translation module 125, and transport protocol application 130.

A menu of options or activities may be displayed through graphic user interface 115. A user may choose an option or activity by selecting the option or activity from the menu. Options may include responding to a poll or selecting a response to a query generated by the interface 115. Activities may include games, generating queries for information, and searching for content. Information concerning the user selection is detected and eventually provided to SMS agent 120.

SMS agent 120 generates text messages for transmission from the mobile device 120 to another device. SMS (point-to-point) is defined in GSM recommendation 03.40. Through SMS, messages are sent to a Short Message Service Centre (SMSC) (not shown), which provides a store-and-forward mechanism. The SMSC attempts to send messages to their recipients. If a recipient is not reachable, the SMSC queues the message for later retry. A recipient is most instances of SMS is another mobile device but, with respect to the present disclosure, may be a facilitating server 150.

Transmission of short messages between the SMSC and recipient (e.g., facilitating server 150) occurs through use of the Mobile Application Part (MAP) of the SS7 protocol. Messages are sent with the MAP mo- and mt-ForwardSM operations, whose payload length is limited by the constraints of the signaling protocol to 140 octets (140 octets=140*8 bits=1120 bits). Short messages can be encoded using a variety of alphabets: the default GSM 7-bit alphabet, the 8-bit data alphabet, and the 16-bit UTF16/UCS-2 alphabet. Depending on which alphabet the subscriber has configured in the handset (or through interface 115), the maximum individual Short Message sizes are 160 7-bit characters, 140 8-bit characters, or 70 16-bit characters (including spaces). Routing data and other metadata is additional to the payload size.

Larger content (concatenated SMS, multipart or segmented SMS or ‘long sms’) can be sent using multiple messages, in which case each message will start with a user data header (UDH) containing segmentation information. Since UDH is inside the payload, the number of characters per segment is lower: 153 for 7-bit encoding, 134 for 8-bit encoding and 67 for 16-bit encoding. The receiving entity is then responsible for reassembling the message and presenting it as one long message for processing.

SMS can be used to deliver digital content such as news alerts, financial information, logos, and ring tones. A Value-Added Service Provider (VASP) providing the content submits the message to the mobile operator's SMSC(s) using a TCP/IP protocol such as the short message peer-to-peer protocol (SMPP) or the External Machine Interface (EMI). The SMSC delivers the text using a normal Mobile Terminated delivery procedure. The VASP may be or be associated with facilitating server 150 or operator server 160.

In some embodiments, SMS agent 120 and graphic user interface 115 work in conjunction with respect to a native SMS environment(s) (e.g., a client corresponding to a particular SMS gateway operator/provider), protocols, applications, services, and data stores. While SMS messages are commonly associated with GSM networks, SMS agent 120 may encompass agents for sending text messages in a variety of communications standards and protocols (e.g., CDMA or 3G). SMS agent 120 receives information from graphic user interface 115 concerning user interaction (such as information that might be input through a graphically displayed or physical keyboard operating in conjunction with the interface 115) and generates a text message based on such information.

SMS agent 120 may operate in conjunction with a translation module 125 to generate a text message that includes a command. For example, a user selection of a menu item at graphic user interface 115 may be translated by translation module 125 into a specific or particularized command based on the user selection. The command may then be included in a text message generated by SMS agent 120 to send via network 140 to facilitating server 150. The translation module 125 may be authored by an entity associated with facilitating server 150 (or optional operating server 160) that will ultimately receive the SMS and command.

Transport protocol application 130 may operate in conjunction with facilitating server 150 to allow data transactions with data stores. Specifically, the transport protocol application 130 may inform the facilitating server 150 that the device 130 is available for interaction. This may include exchange of credentials, registration, and so forth.

Transport protocol application 130 may further allow for mobile device 110 to receive data sent by facilitating server 150 in response to the SMS message. The transport protocol application 130 may allow for the SMS messages and response to be integrated with multiple applications such as address book applications, email, text editing applications, web browsers, instant messenger services, and/or other SMS applications. This may allow for various functionalities to be provided on the mobile device 110, such as ordered conversation, transport of information from one environment to another, journaling, mapping, global positioning system (GPS) applications, storage to file folders, integration with other applications and their related data and commands, offers of information, features, and services from use merchants or service providers.

Communication network 140 may include any of a variety of networks, including Global System for Mobile communications (GSM), the General Packet Radio Service (GPRS), Enhanced Data rates for GSM Evolution (EDGE), Code Division Multiple Access (CDMA), or networks using the 3G mobile network standard. Network 140 may further include landline networks, satellite networks, and other communications networks capable of sending and receiving text messages.

As illustrated in FIG. 1, facilitating server 150 is a rendezvous point or transaction router for system 100. Facilitating server 150 may, in some embodiments, be similar to that facilitating server referenced in U.S. patent application Ser. No. 12/361,538 and entitled “System and Method for Data Transport.” Various applications and connectors for phones, data services, data stores, and so forth may be implemented at facilitating server 150. Changes to applications and services may, in large part, be implemented through the facilitating server 150. By implementing substantive changes, revisions, and updates to the operation of particular applications and services, the need for client upgrades and for multiple instantiations of connector code for different clients and services at the mobile device 110 may be avoided or, at least, reduced.

For example, mobile devices 110 may only require an update with respect to changes in the user interface 115 if the interface 115 is static and hosted at the device 110. If the interface is web-based and accessed over an Internet connection, however, the interface 115 need not be updated at the device 110. The new interface that indicates the availability of new options or services may, instead, be accessed over the Internet and accessed as a web page through a change implemented through HTML and provided at facilitating server 150.

In this instance, changes and updates need only occur at facilitating server 150. Continual upgrades and modifications may be provided at facilitating server 150 as these new services and applications become available to devices interacting with the system 100. The updates at the facilitating server 150 may include the revision, addition, or deletion of a library of commands carried in an SMS message. Each of these commands is associated with a set of instructions for execution at the facilitating server 150 to provide particular responsive data (e.g., in response to a search query originated at the mobile device 110).

In some instances, it may be necessary to introduce minor updates to the translation module 125 such that a newly proffered option or command provided through interface 115 can be properly translated into a corresponding command for inclusion in an SMS message. It may be possible, however, to even avoid updates to the translation module 125 should the user utilize a web-based interface whereby a script operating in conjunction with the web-based interface is executed following selection of an option. Through the execution of this script, corresponding instructions may be fed to the translation module 125 for execution and inclusion of a command in the SMS message as ultimately generated by the SMS agent 120.

The presently described invention allows for any updates that are required at the mobile device 110 (with rare exceptions) to be significantly disproportionate in size (i.e., smaller) than updates that might occur at the facilitating server 150. Such a methodology also decreases the complexity of such updates (if any) by decreasing if not eliminating the need for numerous updates for numerous mobile devices to be authored. SMS is a universally recognized ‘language’ amongst mobile devices. An HTML-based interface is likewise universally translatable amongst mobile devices—or at least those with Internet access capabilities. Any device particular issues may be addressed through scripts or other web-based executables on an as needed basis when a particular menu of options is accessed by a user of mobile device 110. Substantive implementation of changes is managed ‘behind-the-scenes’ at the facilitating server 150 instead of on the ‘front-end’ at the mobile device 110.

For example, an operator may wish to provide a new service to the mobile device 110. The operator need only update a set of instructions stored at the facilitating server 150. The set of instructions is associated with a particular command. When that command is received via SMS message from the mobile device 110, the updated instructions allow the new service to be performed and provided to the mobile device 110 by the facilitating server 150. The user is made aware of that new functionality through the user interface, which is accessed via the Web vis-e-vis the facilitating server 150 (or a corresponding web server) thereby similarly avoiding the need to update any interface data at the mobile device 110.

In some instances, facilitating server 150 may include or be communicatively coupled to one or more optional operator servers 160. An operator server 160 may execute instructions provided by the facilitating server 150. As discussed above, the command in the SMS message is sent by mobile device 110 to facilitating server 150. The command is associated with a set of instructions stored at facilitating server 150. Such instructions may be processed by facilitating server 150. Processing may include execution by a processor of facilitating server 150. In some embodiments, the processor at the operator server 160 may to perform part or all of the instructions, which may occur in response to an instructions received from the facilitating service 160.

As illustrated in FIG. 1, various data sources, which are collectively referenced as element 170, may be communicatively connected and provide data to optional operator server 160 for performance of instructions. Data sources 170 may, in some embodiments, interact with facilitating server 150 without the need for the optional operator server 160. Data sources 170 may include Google search 170A, a Facebook account 170B, or a Flickr account 170C.

Data sources 170 may be accessed in quasi-real-time by optional operating server 160 in the course of performing instructions provided by facilitating server 150. Optional operating server 160 may run connection applications to recognize certain events or data changes at data sources 170 and report the existence of those events or data changes to facilitating server 150. As noted above, facilitating server 150 may directly interact with data sources 170. In some instances, the functionality and/or operability of servers 150 and 160 may be integrated into a single server.

FIG. 2 illustrates a method 200 for integrated messaging. The method illustrated in FIG. 2 includes detecting user interaction at graphic user interface 115 of mobile device 110, generating a command in an SMS message, transmitting the SMS message to facilitating server 150, and receiving responsive data from the server. The responsive data is generated at the server according to instructions associated with the command in the SMS message.

In step 210, user interaction is detected. The user may interact with graphic user interface 115 of mobile device 110. The user interaction may include a selection from a menu or directory, entry of a query, or a combination of the foregoing. The user interaction is detected by the graphic user interface 115, and information concerning such interaction is provided to SMS agent 120.

In step 220, an SMS message including a command is generated. The user interaction detected in step 210 is associated with a command. A text message including the command is generated by SMS agent 120. The text message is automatically generated without further action from the user; a user may simply select an option from a menu of options whereby all further operations are handled by various applications at mobile device 110 without the need for further user involvement. A text message that includes the command associated with that selection is generated without further input from the user. Creation of this command may be a result of execution of translation module 130, which provides the command for inclusion in the SMS message generated by SMS agent 120.

In step 230, the text message is transmitted over network 140 to facilitating server 150. The facilitating server 150 receiving such a text message determines the command and processes instructions associated with the determined command. Some embodiments may include another server such as operator server 160 operated by a non-network operator to perform the instructions. Performing the instructions allows for generation or accessing of data responsive to the command included in the text message. Once the responsive data is generated, the facilitating server 150 may then send the responsive data to mobile device 110. In step 240, the responsive data is received by the mobile device 110.

FIG. 3 illustrates an alternative method 300 for integrated messaging. The method may include receiving a text message with a command, processing instructions associated with the received command, accessing data from one or more data sources, generating responsive data. The responsive data is then transmitted to the mobile device.

In step 310, a text message including a command is received. For example, a text message is sent from mobile device 110 to facilitating server 150. The facilitating server 150 determines what command is included in the received text message and, further, what instructions stored in memory at the facilitating server 150 are associated with the command. In some embodiments, the facilitating server 150 maintains a library of commands, each associated with instructions.

In step 320, the instructions associated with the received command are processed, for example, by a processor of facilitating server 150. In some embodiments, operator server 160 may execute all or part of the command and/or perform an operation that is responsive to that command. As noted previously, facilitating and operator servers 150 and 160 may be functionally integrated. In some instances, operator server 160 is optional.

In step 330, data is accessed. Performance of instructions associated with the command may require data be accessed from various data sources 170. For example, if the user enters a query related to locating identifying the location of particular businesses in a given zip code, the instructions for the associated command may be performed by providing specifics of the query information and accessing data from a search engine. Access of data in step 330 may alternatively include retrieval of data from a data store such as a photo, audio or video file, or other type of content. Data, in the present disclosure, should be interpreted as being inclusive rather than exclusive.

In step 340, responsive data is generated or retrieved. Generation of the responsive data occurs under direction of the facilitating server 150 executing the instructions associated with the command. If the command concerns a query, for example, responsive data may include search results based on information included in the query. Continuing the prior example, the responsive data may include a list of all businesses in a particular zip code and matching the user query.

Responsive data may also include the retrieval of certain content accessed on step 330. For example, responsive data may include retrieval of designated photos from a Flickr account. Responsive data may include generating further data based on data in step 330. Responsive data may be generated in conjunction with operator server 160, which is returned to the facilitating server 150. In step 350, the responsive data is transmitted to the mobile device 110.

The terms “computer-readable storage medium” and “computer-readable storage media” as used herein refer to a medium or media that participates in providing instructions to a CPU for execution. Such media can take many forms including, but not limited to, non-volatile and volatile media. Non-volatile media include, for example, optical or magnetic disks, such as a fixed disk. Volatile media include dynamic memory, such as system RAM. Common forms of computer-readable storage media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, punch cards, paper tape, any other physical medium with patterns of marks or holes, a RAM, a PROM, an EPROM, a FLASHEPROM, any other memory chip or cartridge.

Transmission media may include coaxial cables, copper wire and fiber optics and various computer bus. Transmission media can also take the form of acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Carrier wave or other media for transmission of information may be used.

The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those of skill in the art upon review of this disclosure. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.

While the present invention has been described in connection with a series of preferred embodiment, these descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. 

1. A method for accessing multimedia content from a server for consumption of the multimedia content at a mobile device, the method comprising: detecting user interaction with a graphic user interface of the mobile device; translating, by the mobile device, user interaction with the graphic user interface into a command; wherein, the user interaction includes request to retrieve or access the multimedia content from a server; including the command to retrieve the multimedia content from a server in a message generated at the mobile device; transmitting the message to the server for execution of instructions associated with the command included in the message for multimedia content access and retrieval; and receiving the multimedia content for access at the mobile device as a result of the execution of the instructions associated with the command included in the message.
 2. The method of claim 1, wherein the graphic user interface is associated with an application other than a text messaging application.
 3. The method of claim 1, wherein the instructions associated with the command are stored and periodically updated at the server.
 4. The method of claim 3, wherein the periodic update of the instructions at the server occurs independent from the graphic user interface at the mobile device.
 5. The method of clam 1, wherein the user interaction includes input generated through a graphically displayed keyboard on the mobile device .
 6. A method for providing access to multimedia content to a mobile device through messaging, the method comprising: receiving at a first server a message from the mobile device, the message including a command based on user interaction at the mobile device with a graphically displayed keyboard on the mobile device; wherein, the user interaction with the mobile device is translated into a command by the mobile device; wherein, the command includes a request to retrieve or access the multimedia content or to access services from a merchant; including the command to retrieve the multimedia content or to access services from the merchant in a message generated at the mobile device, the message to include the command; processing instructions associated with the command at the first server; transmitting the multimedia content or providing the services for access at the mobile device, associated with processing the instructions; wherein the multimedia content is retrieved from an online account of a user of the mobile device who generated the command through the user interface.
 7. The method of claim 6, wherein the multimedia content is transmitted to the mobile device by the first server.
 8. The method of claim 6, wherein the multimedia content is generated by a second server communicatively coupled to the first server.
 9. The method of claim 8, wherein the multimedia content is transmitted to the mobile device by the second server.
 10. The method of claim 6, wherein the multimedia content includes audio and video content. 